向量(Vector)
表示包含 x 与 y 分量的向量。
字段(Fields)
x
向量 x 分量(只读)。
local v = Vector.xy(10, -5)
local xValue = v.x -- 10
y
向量 y 分量(只读)。
local v = Vector.xy(10, -5)
local yValue = v.y -- -5
构造器(Constructors)
xy
按给定 x/y 创建向量。
local v = Vector.xy(5, -2) -- 5 -2
origin
返回零向量 (0,0)。
local origin = Vector.origin() -- 0 0
scaleAndAdd
返回 a + b * scale。
local r = Vector.scaleAndAdd(Vector.xy(1,2), Vector.xy(3,4), 2) -- 7 10
scaleAndSub
返回 a - b * scale。
local r = Vector.scaleAndSub(Vector.xy(7,10), Vector.xy(3,4), 2) -- 1 2
lerp
按 t 对两个向量做线性插值。
local p = Vector.lerp(Vector.xy(0,0), Vector.xy(8,0), 0.25) -- 2 0
normalized
返回给定向量的归一化副本。
local n = Vector.normalized(Vector.xy(10, 0)) -- Vector.xy(1, 0)
静态函数(Static Functions)
distance
返回两向量距离。
local d = Vector.distance(Vector.xy(3, 4), Vector.xy(0, 0)) -- 5
distanceSquared
返回两向量距离平方。
local d2 = Vector.distanceSquared(Vector.xy(3,4), Vector.xy(0,0)) -- 25
dot
返回点积。
local dp = Vector.dot(Vector.xy(1,2), Vector.xy(3,4)) -- 11 (1*3 + 2*4)
cross
返回叉积(3D 叉积的 z 分量)。
local c = Vector.cross(Vector.xy(1, 0), Vector.xy(0, 1)) -- 1
length
返回向量长度。
local len = Vector.length(Vector.xy(3, 4)) -- 5
lengthSquared
返回向量长度平方。
local len2 = Vector.lengthSquared(Vector.xy(3, 4)) -- 25
方法(Methods)
length
警告(Deprecated):请改用
Vector.length。
返回向量长度。
lengthSquared
警告(Deprecated):请改用
Vector.lengthSquared。
返回向量长度平方。
local v = Vector.xy(3, 4)
local len2 = v:lengthSquared() -- 25
normalized
警告(Deprecated):请改用
Vector.normalized。
返回向量归一化副本;若长度为 0 则返回零向量。
local v = Vector.xy(10, 0)
local n = v:normalized() -- 1 0
__eq
两个向量分量相等时返回 true。
local a = Vector.xy(1, 2)
local b = Vector.xy(1, 2)
local c = Vector.xy(2, 1)
print(a == b) -- true
print(a == c) -- false
__unm
返回取反向量。
local v = Vector.xy(2, -3)
local neg = -v -- -2 3
__add
返回向量和。
local a = Vector.xy(2, 3)
local b = Vector.xy(-1, 5)
local c = a + b -- 1 8